package cn.iocoder.yudao.module.contract.dal.dataobject.invoiceContract;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 发票合同 DO
 *
 * @author 管理员
 */
@TableName("ct_invoice_contract")
@KeySequence("ct_invoice_contract_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InvoiceContractDO extends BaseDO {

    /**
     * 编号
     */
    @TableId
    private Long id;
    /**
     * 合同类型 1：公司间、2：标准模板、3：客户模板、4：退货协议
     */
    private String contractType;
    /**
     * 模板id
     */
    private Long contractTemplateId;
    /**
     * 模板名称
     */
    private String contractTemplateName;
    /**
     * 合同号
     */
    private String contractNo;
    /**
     * 生成方式 1手动 2批量
     */
    private String generationType;
    /**
     * 客户编码
     */
    private String clientCode;
    /**
     * 购方名称
     */
    private String gfmc;
    /**
     * 公司编码
     */
    private String companyid;
    /**
     * 销售方名称
     */
    private String xfmc;
    /**
     * 签订日期
     */
    private String signingDate;
    /**
     * 合同生成时间
     */
    private LocalDateTime generatedTime;
    /**
     * 开票月
     */
    private String invoiceMonth;
    /**
     * 合同总金额
     */
    private String totalMoney;
    /**
     * 运输方式
     */
    private String vsbed;
    /**
     * 运输方式解释
     */
    private String vsbedms;
    /**
     * 合同管控类型
     */
    private String zzhtgklx;
    /**
     * 合同管控类型描述
     */
    private String zzhtgklxms;
    /**
     * 组织编码
     */
    private String sellertaxid;
    /**
     * 组织名称
     */
    private String sellertaxname;
    /**
     * 区域名称
     */
    private String salesmethodname;
    /**
     * 雇员名称
     */
    private String qyusername;
    /**
     * 订单号
     */
    private String ddh;
    /**
     * 发票ids
     */
    private String invoiceIds;
    /**
     * 合同html
     */
    private String contractHtml;
    /**
     * 合同文件url
     */
    private String contractFileUrl;
    /**
     * 下载次数
     */
    private Integer downloadCount;
    /**
     * 打印次数
     */
    private Integer printCount;
    /**
     * 附件id-多个,隔开
     */
    private String fileIds;
    /**
     * 扫描件附件id-多个,隔开
     */
    private String scanFileIds;
    /**
     * 异常原因
     */
    private String abnormalCause;
    /**
     * 状态 0未生成 1已生效、2已作废
     */
    private String status;

    /**
     * 框架协议ID
     */
    private Long frameworkAgreementId;
}